import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm

# 参数设置
mu = 4.2        # 均值
sigma = 4.33    # 标准差

# x 轴范围：覆盖均值 ± 4个标准差
x = np.linspace(mu - 4*sigma, mu + 4*sigma, 1000)

# 计算概率密度函数 (PDF)
y = norm.pdf(x, mu, sigma)

# 绘图
plt.figure(figsize=(10, 6))
plt.plot(x, y, label=f'μ={mu}, σ={sigma}', color='blue', linewidth=2)

# 添加竖线表示均值
plt.axvline(mu, color='red', linestyle='--', label=f'均值 {mu}')

# 添加 ±1σ 区间阴影
plt.fill_between(x, y, where=((x >= mu - sigma) & (x <= mu + sigma)),
                 color='blue', alpha=0.2, label=f'±1σ 范围 [{mu-sigma:.2f}, {mu+sigma:.2f}]')

# 标签和标题
plt.title('高斯分布（正态分布）: μ=4.2, σ=4.33', fontsize=14)
plt.xlabel('x', fontsize=12)
plt.ylabel('概率密度', fontsize=12)
plt.legend()
plt.grid(True, alpha=0.3)

# 显示
plt.tight_layout()
plt.show()
